construct dfa